<h1 align="center">
  Соглашения о написании кода <img src="./Картинки/Соглашение.png" height="26"/>
</h1>

* Применение стандартов - ВСЕ из [ветки](https://its.1c.ru/db/v8std#browse:13:-1:31)
* Знаки арифметических и логических операций обрамляем пробелами с обеих сторон.
*  После запятой обязательно пробел (исключение - следующий символ = запятая)
*  Минимальная вложенность кода
* Инструкция методов БСП
  * [Часть 1](https://infostart.ru/1c/articles/1398340/)
  * [Часть 2](https://infostart.ru/1c/articles/1411756/)
* [Использование транзакций](https://its.1c.ru/db/v8std#content:783:hdoc)
	
* [Создание внешних печ.форм](https://infostart.ru/1c/articles/286059/)
	
* [Контроль остатков](https://курсы-по-1с.рф/articles/2017-02-12-two-methods-for-inventory-check/)
	
* [Расшифровка отчета СКД](https://wiseadvice-it.ru/o-kompanii/blog/articles/rasshifrovka-otcheta-v-1s-8-3-na-skd/)
	
* [Отчет по движению документа и структуре подчиненности](https://1c-bz.ru/programming/90/)
	
* [Добавление печатных форм в самописные документы](https://infostart.ru/1c/articles/674880/)


<h2 align="center">Шаблон разработки функций</h2>
Делим логику функций всегда по такому шаблону (не обязательно разбиение на области - но обязательно должно соответствовать данному шаблону). Каждая область может быть отдельной/несколькими функциями:

* Область ***ПроверкаУсловийРаботы*** - в этом блоке производим ВСЕ возможные проверки на условие выполнение алгоритма функций.
* Область ***ПодготовкаОкружения*** - здесь уменьшаем количество чтений и записей из базы.. т.е. вычитываем все нужные данные в локальные структуры / таблицы за (крайне желательно) **один запрос**.
* Область ***ВыполнениеАлгоритма*** - собственно производим манипуляции с подготовленными данными.
* Область ***ОбработкаРезультатаИЗавершение*** - здесь производим запись изменений в базу, транзакции, вывод на печать, отображение сообщений и т.п.
  
#### Предлагаемый шаблон разработки процедуры (по аналогии со стандартом оформления модулей 1С)
```
Процедура <?"Название процедуры">()
	
	#Область ПроверкаУсловийРаботы
	<?>
	#КонецОбласти
	
	#Область ПодготовкаОкружения
	#КонецОбласти
	
	#Область ВыполнениеАлгоритма
	#КонецОбласти
	
	#Область ОбработкаРезультатаИЗавершение
	#КонецОбласти
	
КонецПроцедуры
```
	
